/**
 * 安卓白金英雄坛制作组 <br>
 * 文件名：LuanHuanJue.java <br>
 * 创建时间：2013-8-23 上午11:32:41 <br>
 * 所属项目：GmudEX <br>
 * @author 12548 <br>
 */
package lostland.gmud.exv2.battle.proc.stunt;

import com.orhanobut.logger.Logger;

import lostland.gmud.exv2.battle.BattleScreen;
import lostland.gmud.exv2.battle.ViewScreen;
import lostland.gmud.exv2.battle.proc.Status;
import lostland.gmud.exv2.battle.proc.StuntScreen;
import lostland.gmud.exv2.data.Npc;

/**
 * 类名：LuanHuanJue <br>
 * 说明：31.太极拳·3.乱环诀
 *
 * @author 12548
 */
public class LuanHuanJue extends Status {


	/**
	 * @param zdp
	 * @param bdp
	 */
	public LuanHuanJue(Npc zdp, Npc bdp) {
		super(zdp, bdp);
	}

	/* （非 Javadoc）
	 * @see lostland.gmud.exv2.battle.proc.Status#execute()
	 */
	@Override
	public void execute() {

		double hit_rate = 0.7 + 0.3 * (((double) zdp.getFp() - bdp.getFp()) / (double) (zdp.getFp() + bdp.getFp() + 1));

		Logger.i("命中率=" + hit_rate);

		boolean hit = Math.random() < hit_rate;

		if (hit) {
			new ViewScreen(BattleScreen.bsp(zdp, bdp, "结果$n身不由己，被推进了$N的乱环阵内！")).pushToGame();
			bdp.setTransfixed(bdp.getDz() + 5);
		} else {
			new ViewScreen(BattleScreen.bsp(zdp, bdp, "可是$n急中生智奋力一挣，竟然脱出了 [乱环诀] 的包围！")).pushToGame();
			zdp.setTransfixed(zdp.getDz() + 3);
		}

		StuntScreen.StuntOver();

	}

}
